草庐IT

分组前的 MySQL LIMIT?

全部标签

mysql - 如何从出生日期计算年龄并将每个成员分组到sql中的年龄范围

我有一个存储人们详细信息的sql表,即id、姓名、DoB、registration_date和地址。我想计算每个人的年龄,然后将他们分组到这些范围内:20-30、31-50、51岁及以上。我知道我可以通过以下方式获取年龄:(https://stackoverflow.com/a/1572257/3045800)SELECTFLOOR((CAST(GetDate()ASINTEGER)-CAST(Date_of_birthASINTEGER))/365.25)ASAge我只需要弄清楚如何将所有人分组到他们各自的范围内。感谢帮助 最佳答案

PHP从数据库结果中对具有多个维度的数组进行分组

作为数据库查询的结果,我有一个数组。线包括两个维度和一些指标。指标必须按维度组求和。这是表格View中的示例原始数据数组:这是确切的数组:array(13){[0]=>array(6){["source_name"]=>string(8)"A"["week"]=>string(2)"10"["picks"]=>int(1)["won"]=>int(0)["lost"]=>int(1)["draw"]=>int(0)}[1]=>array(6){["source_name"]=>string(8)"A"["week"]=>string(2)"10"["picks"]=>int(1)["w

mysql - 按半小时间隔分组

我很幸运地在StackOverflow上找到了这段很棒的代码,但是我想将其更改为每半小时显示一次而不是每小时显示一次,但是弄乱它只会导致我破坏查询哈哈.这是SQL:SELECTCONCAT(HOUR(created_at),':00-',HOUR(created_at)+1,':00')ashours,COUNT(*)FROMurlsGROUPBYHOUR(created_at)ORDERBYHOUR(created_at)ASC我怎样才能每半小时得到一个结果?:)另一件事是,如果半小时没有结果,我希望它返回0而不是跳过该步骤。当我对查询进行统计时,它看起来有点奇怪,因为没有查询而跳过

mysql - 如何在 Rails3 的 Active Record 中按日期和年份分组

我正在尝试在rails3中重新创建以下mysql查询selectcount(id),year(created_at),month(created_at)fromtablewherepublished_state='published'groupbyyear(created_at),month(created_at);我试过类似的方法:results=Table.select('count(id),year(created_at),month(created_at)').where('published_stateLIKE?','published').group('year(creat

php - 如何将具有相同值的行从 mySQL 分组到 php 中?

这是我的mySQL表animals:╔══════════╦══════╗║animal║name║╠══════════╬══════╣║dog║sam║║cat║fred║║cat║todd║║bird║alan║╚══════════╩══════╝我想选择所有数据到一个表中:$sql='SELECT*FROManimals';foreach($pdo->query($sql)as$row){echo''.$row['animal'].'';echo''.$row['name'].'';}我的结果是:╔══════════╦══════╗║dog║sam║║cat║fred║║c

sql - 是否有一种[直接的] 方式来使用 SQL 对结果进行排序 *首先*,*然后* 按另一列分组?

我看到在SQL查询中,GROUPBY必须在ORDERBY表达式之前。这是否意味着在分组后进行排序会丢弃相同的行?因为我似乎需要先按时间戳对行进行排序,然后丢弃具有相同时间戳的行。而且我不知道如何做到这一点。我正在使用MySQL5.1.41。下面是用createtable表示的表的定义:createtable(Aint,Btimestamp)数据可以是:+-----+-----------------------+|A|B|+-----+-----------------------+|1|today||1|yesterday||2|yesterday||2|tomorrow|+----

MySQL - 按唯一登录天数范围内的用户数和部门分组

我现在正在处理一个查询,它将计算每个用户的唯一登录天数,将它们放入一个桶中(1-2、3-4登录天等),并返回每个用户的数量按部门划分的每个存储桶中的用户。如果这不是很清楚,我深表歉意,希望下面的例子能帮助说明我的问题。我有一个这样的表:+-------------+-----------+------------+-----------------+|time|user_name|dept|event|+-------------+-----------+------------+-----------------+|2016-01-04|Joe|finance|loggedin||2

php - MySQL 查询以最大 event_count 分组?

我需要计算事件组之间的时间差。每个“事件组”在event_count列=1时重新开始,最大event_count可以是大于1的任何数字。我如何在MySQL中执行此操作?这是表格和一些测试数据:表格CREATETABLE`monitoring`(`event_id`int(10)unsignedNOTNULLAUTO_INCREMENT,`hosting_id`char(36)DEFAULTNULL,`event_timestamp`datetimeDEFAULTNULL,`event_type`tinyint(3)unsignedDEFAULTNULL,`event_count`int

MySQL 分组不遵守 ORDER BY

我正在尝试执行MySQL查询以查找网络论坛中最近活跃的线程(以及每个线程的最新评论)。主题存储在两个表中,forum_topics和forum_responses,其中每个forum_topic都有许多forum_responses。在这里,我对连接到forum_topics的forum_reponses进行搜索,对forum_response.id进行降序排序:selectt.id,t.title,r.id,r.bodyfromforum_responsesrinnerjoinforum_topicston(r.forum_topic_id=t.id)orderbyr.iddesc;

mysql - 有没有办法对 SQL 函数进行分组?

我想在SQL中对MIN()和AVG()函数进行分组,即MIN(AVG(column_name))或类似的东西。有没有办法进行分组?我试过这个:SELECT`instructer`.`dept_name`,AVG(`instructer`.`salary`)ASMinAvgSalaryFROM`instructer`GROUPBY`instructer`.`dept_name`HAVINGAVG(`instructer`.`salary`)=(SELECTMIN(AVG(`instructer`.`salary`))FROM`instructer`GROUPBY`instructer`.